package com.qf.service.impl;

import com.qf.entity.RolePermissionDTO;
import com.qf.mapper.RoleMapper;
import com.qf.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class RoleServiceImpl implements RoleService {

    @Autowired
    private RoleMapper roleMapper;

    @Transactional  // 确保三个表操作在同一事务中
    @Override
    public void addRoleAndPermission(RolePermissionDTO dto) {
        // 1. 插入角色表（自动回填roleId到DTO）
        roleMapper.insertRole(dto);

        // 2. 插入权限表（自动回填permId到DTO）
        roleMapper.insertPermission(dto);

        // 3. 插入关联表（使用回填的ID）
        int RoleId = roleMapper.insertRole(dto);
        int PermId = roleMapper.insertPermission(dto);
        roleMapper.insertRolePermission(RoleId, PermId);
    }
}